jjzjj

c++ - libstdc++.so.6 : cannot open shared object file: No such file or directory

全部标签

c++ - 使用 clang 选择特定的 libstdc++ 版本

我使用clang++来编译C++代码。我链接到gcc标准C++库libstdc++。但是,我在我的Ubuntu机器上安装了几个不同的libstdc++。当我运行clang++时,它使用了libstdc++的4.8安装:andy@andy:~$clang++-3.5-vUbuntuclangversion3.5.0-4ubuntu2~trusty2(tags/RELEASE_350/final)(basedonLLVM3.5.0)Target:i386-pc-linux-gnuThreadmodel:posixFoundcandidateGCCinstallation:/usr/bin/

c++ - 加载共享库时出错 : libgomp. so.1 : , GCC 版本错误?

在执行第3方C++程序时出现以下错误:加载共享库时出错:libgomp.so.1:无法打开共享对象文件:没有这样的文件或目录libgomp.so.1库是GNU编译器集合OpenMP运行时库。这是GCC包的一部分吗?我可以在具有gcc-4.5的系统上运行该程序,但不能在具有gcc-4.3或gcc-4.6的系统上运行。或者我需要安装另一个包吗?我尝试通过下载库并将其放在LD_LIBRARY_PATH中,在使用gcc-4.3的系统上手动修复此问题,但随后我得到了另一个丢失的库:/usr/lib/libstdc++.so.6:版本`GLIBCXX_3。4.11'未找到。libstdc是GNU标

c++ - 如何编辑和重新构建 GCC libstdc++ C++ 标准库源代码?

我正在进行一些研究,并且想编辑libstdc++库中的一些源代码以进行实验。具体而言,我对试验并行排序算法很感兴趣。有什么地方可以找到文档来轻松编辑和构建源代码吗?我曾尝试构建各种版本的libstdc++库,但均未成功。似乎大多数新版本都需要构建整个gcc包,这是一个漫长得多的过程,尤其是当我要在libstdc++中编辑和试验一些文件时。我也找不到包含并行排序算法的源文件。我似乎只能找到定义函数的头文件,而不是源代码本身。非常感谢任何建议或文档链接。 最佳答案 是的,您必须构建整个GCC,但是一旦完成,您只需要重建libstdc++

c++ - 在 mac osx(不是 dylib)上构建真正的 .so/MH_BUNDLE 共享库的 g++ 标志是什么?

我正在尝试在macosx上创建一个.so。似乎有一个distinction在.so和.dylib类型之间。$filesome_real.sosome_real.so:Mach-O64-bitbundlex86_64dynamiclib标志按预期生成dylib$g++-dynamiclib-olibgtest-1.7.0.dylib[my.ofiles]$filelibgtest-1.7.0.dyliblibgtest-1.7.0.dylib:Mach-O64-bitdynamicallylinkedsharedlibraryx86_64####^^^asexpected共享标志没有给出

c++ - 如何获得 -std=c++11 w/libstdc++?

为什么这行不通:#includeintmain(){return0;}编译为:clang++-std=c++11-stdlib=libstdc++temp.cpptemp.cpp:1:10:fatalerror:'regex'filenotfound#include^1errorgenerated.clang++--versionAppleLLVMversion7.0.0(clang-700.1.76)Target:x86_64-apple-darwin14.5.0Threadmodel:posix如果我允许stdlib为libc++则它会编译。正则表达式是c++11,但是clang似

C++ 如何在 Unix 中获取正在执行的 .so 模块的文件名(和路径)

C++如何在Unix中获取正在执行的.so模块的文件名(和路径)?类似于Windows上的GetModuleFileName的东西。 最佳答案 尽管它不是POSIX标准接口(interface),dladdr()功能在许多系统上都可用,包括Linux,Solaris,Darwin/MacOSX,FreeBSD,HP-UX,和IRIX.此函数获取一个地址,例如可以是指向模块内静态函数的指针(如果转换为void*),并用信息填充Dl_info结构包括包含该地址的共享对象的路径名(在dli_fname成员中)。

c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll."

有个小问题。我有C++代码,它链接到一些库。我以前有源代码的(原始)exe,它在第一台机器上运行完美。还有第二台机器,我在那里处理源代码,更改它,等等。在第二台机器上,该源代码的构建工作正常,当我复制second.exe并尝试在第一台机器上运行它时萌芽它显示错误信息"theprocedureentrypoint_ZNSt8_detail15_List_node_base7_M_hookEPS0_couldnotbelocatedinthedynamiclinklibrarylibstdc++-6.dll."有一件事,second.exe被复制到与original.exe相同的文件夹中,

c++ - 编译 Qt-base : error: libQt5Core. so.5: 没有可用的版本信息

我是从源代码qt-base编译的。我构建了其中一个测试(tst_qdom),但在执行时出现错误。这是ldd的结果:lddtests/auto/xml/dom/qdom/tst_qdom**tests/auto/xml/dom/qdom/tst_qdom:/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:noversioninformationavailable(requiredbytests/auto/xml/dom/qdom/tst_qdom)tests/auto/xml/dom/qdom/tst_qdom:/usr/lib/x86_64-linux

使用现代编译器编译的 C++ 项目,但链接到过时的 libstdc++

考虑在Centos7虚拟机或容器中构建和交付C++项目的情况。Centos7的默认gcc是4.8。为了让开发人员能够使用现代C++,较新版本的gcc(例如,6.3)被安装到作为CI服务器运行的Centos7中。这提供了-std=c++14支持。[builder@f7279ae9f33fbuild(master%)]$/usr/bin/c++-v2>&1|grepversiongccversion4.8.520150623(RedHat4.8.5-28)(GCC)[builder@f7279ae9f33fbuild(master%)]$/opt/rh/devtoolset-6/root/

c++ - 我如何查看 Linux .so 或 .a 对象并查看它们包含哪些函数?

链接器大概可以做到这一点,那么是否有一个命令行工具可以列出目标文件中的函数并告诉我函数的名称及其签名? 最佳答案 对于共享库,您必须使用:nm-D/path/to/libwhatever.so.没有-D,nm转储debug符号;-D指的是实际用于动态链接的动态符号。来自Ubuntu12session:$nm/lib/i386-linux-gnu/libc.so.6nm:/lib/i386-linux-gnu/libc.so.6:nosymbols$nm-D/lib/i386-linux-gnu/libc.so.6|tail0011f